package com.ruoyi.journal.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 现金日记账对象 bfx_cash_journal
 * 
 * @author ruoyi
 * @date 2025-02-25
 */
public class BfxCashJournal extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 现金id */
    private Long id;

    /** 日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createAt;

    /** 关联凭证 */
    @Excel(name = "关联凭证")
    private Integer voucherId;

    /** 摘要 */
    @Excel(name = "摘要")
    private String abstractMsg;

    /** 收支类别 */
    @Excel(name = "收支类别")
    private Long revenueId;

    /** 收入(借方) */
    @Excel(name = "收入(借方)")
    private Long debitAmount;

    /** 支出(贷方) */
    @Excel(name = "支出(贷方)")
    private Long expensesAmount;

    /** 余额 */
    @Excel(name = "余额")
    private BigDecimal balance;

    /** 往来单位 */
    @Excel(name = "往来单位")
    private Integer contactUnitsId;

    /** 部门 */
    @Excel(name = "部门")
    private String department;

    /** 往来账号 */
    @Excel(name = "往来账号")
    private String handlerNumber;

    /** 项目 */
    @Excel(name = "项目")
    private String project;

    /** 备注 */
    @Excel(name = "备注")
    private String notes;

    /** 制单人id */
    @Excel(name = "制单人id")
    private Integer creatorId;

    /** 制单人 */
    @Excel(name = "制单人")
    private String creator;

    /** 结算方式 */
    @Excel(name = "结算方式")
    private Integer paymentMethodId;

    /** 票据号 */
    @Excel(name = "票据号")
    private String billNumber;

    /** 交易流水号 */
    @Excel(name = "交易流水号")
    private String transactionSerialNumber;

    /** 日记账序号 */
    @Excel(name = "日记账序号")
    private String journalNumber;

    /** 账户 */
    private Integer accountId;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setCreateAt(Date createAt) 
    {
        this.createAt = createAt;
    }

    public Date getCreateAt() 
    {
        return createAt;
    }
    public void setVoucherId(Integer voucherId) 
    {
        this.voucherId = voucherId;
    }

    public Integer getVoucherId() 
    {
        return voucherId;
    }
    public void setAbstractMsg(String abstractMsg)
    {
        this.abstractMsg = abstractMsg;
    }

    public String getAbstractMsg()
    {
        return abstractMsg;
    }
    public void setRevenueId(Long revenueId) 
    {
        this.revenueId = revenueId;
    }

    public Long getRevenueId() 
    {
        return revenueId;
    }
    public void setDebitAmount(Long debitAmount) 
    {
        this.debitAmount = debitAmount;
    }

    public Long getDebitAmount() 
    {
        return debitAmount;
    }
    public void setExpensesAmount(Long expensesAmount) 
    {
        this.expensesAmount = expensesAmount;
    }

    public Long getExpensesAmount() 
    {
        return expensesAmount;
    }
    public void setBalance(BigDecimal balance)
    {
        this.balance = balance;
    }

    public BigDecimal getBalance()
    {
        return balance;
    }
    public void setContactUnitsId(Integer contactUnitsId) 
    {
        this.contactUnitsId = contactUnitsId;
    }

    public Integer getContactUnitsId() 
    {
        return contactUnitsId;
    }
    public void setDepartment(String department) 
    {
        this.department = department;
    }

    public String getDepartment() 
    {
        return department;
    }
    public void setHandlerNumber(String handlerNumber) 
    {
        this.handlerNumber = handlerNumber;
    }

    public String getHandlerNumber() 
    {
        return handlerNumber;
    }
    public void setProject(String project) 
    {
        this.project = project;
    }

    public String getProject() 
    {
        return project;
    }
    public void setNotes(String notes) 
    {
        this.notes = notes;
    }

    public String getNotes() 
    {
        return notes;
    }
    public void setCreatorId(Integer creatorId) 
    {
        this.creatorId = creatorId;
    }

    public Integer getCreatorId() 
    {
        return creatorId;
    }
    public void setCreator(String creator) 
    {
        this.creator = creator;
    }

    public String getCreator() 
    {
        return creator;
    }
    public void setPaymentMethodId(Integer paymentMethodId) 
    {
        this.paymentMethodId = paymentMethodId;
    }

    public Integer getPaymentMethodId() 
    {
        return paymentMethodId;
    }
    public void setBillNumber(String billNumber) 
    {
        this.billNumber = billNumber;
    }

    public String getBillNumber() 
    {
        return billNumber;
    }
    public void setTransactionSerialNumber(String transactionSerialNumber) 
    {
        this.transactionSerialNumber = transactionSerialNumber;
    }

    public String getTransactionSerialNumber() 
    {
        return transactionSerialNumber;
    }
    public void setJournalNumber(String journalNumber) 
    {
        this.journalNumber = journalNumber;
    }

    public String getJournalNumber() 
    {
        return journalNumber;
    }
    public void setAccountId(Integer accountId) 
    {
        this.accountId = accountId;
    }

    public Integer getAccountId() 
    {
        return accountId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("createAt", getCreateAt())
            .append("voucherId", getVoucherId())
            .append("abstractMsg", getAbstractMsg())
            .append("revenueId", getRevenueId())
            .append("debitAmount", getDebitAmount())
            .append("expensesAmount", getExpensesAmount())
            .append("balance", getBalance())
            .append("contactUnitsId", getContactUnitsId())
            .append("department", getDepartment())
            .append("handlerNumber", getHandlerNumber())
            .append("project", getProject())
            .append("notes", getNotes())
            .append("creatorId", getCreatorId())
            .append("creator", getCreator())
            .append("paymentMethodId", getPaymentMethodId())
            .append("billNumber", getBillNumber())
            .append("transactionSerialNumber", getTransactionSerialNumber())
            .append("journalNumber", getJournalNumber())
            .append("accountId", getAccountId())
            .toString();
    }
}
